package com.weaponlin.domain;

import com.google.common.collect.ImmutableMap;

import java.util.Map;

public class EnumMapTest {


    public enum PriceTimeUnit {
        A, B, C
    }

    public static void main(String[] args) {
        // enum map
//        Map<PriceTimeUnit, Integer> map = new EnumMap<>(PriceTimeUnit.class);
//        map.put(PriceTimeUnit.A, 1);
//        map.put(PriceTimeUnit.B, 2);
//        map.put(PriceTimeUnit.C, 3);
//        map.forEach((k,v) -> System.out.println(k.toString() + ": " + v));
//        map.put(PriceTimeUnit.A, 2);
//        map.forEach((k, v) -> System.out.println(k.toString() + ": " + v));

        // immutable map
        Map<Integer, Integer> immutableMap = ImmutableMap.<Integer, Integer>builder()
                .put(1, 1)
                .put(2, 2)
                .build();
        immutableMap.forEach((k, v) -> System.out.println(k.toString() + ": " + v));
        immutableMap.put(3, 3);
        immutableMap.forEach((k, v) -> System.out.println(k.toString() + ": " + v));

//        final Map<Integer, Integer> map0 = new HashMap<>();
//        map0.put(1, 1);
//        map0.put(2, 2);
//        map0.forEach((k, v) -> System.out.println(k.toString() + ": " + v));
//        map0.put(1, 2);
//        map0.put(3, 3);
//        map0.forEach((k, v) -> System.out.println(k.toString() + ": " + v));
    }
}
